package com.qualiti.javaweb.mb;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.event.AjaxBehaviorEvent;

import org.apache.commons.lang3.StringUtils;

import com.qualiti.javaweb.modelo.Livro;

@ManagedBean
@ViewScoped
public class LivroFiltroMB implements Serializable {
	private String filtroNomeLivro;
	private List<Livro> livrosFiltrados;
	
	public LivroFiltroMB() {
		livrosFiltrados = new ArrayList<>();
	}

	public String getFiltroNomeLivro() {
		return filtroNomeLivro;
	}

	public void setFiltroNomeLivro(String filtroNomeLivro) {
		this.filtroNomeLivro = filtroNomeLivro;
	}

	public List<Livro> getLivrosFiltrados() {
		return livrosFiltrados;
	}

	public void setLivrosFiltrados(List<Livro> livrosFiltrados) {
		this.livrosFiltrados = livrosFiltrados;
	}

	public void filtrarLivros(AjaxBehaviorEvent event) {
		livrosFiltrados.clear();
		if (StringUtils.isNotBlank(filtroNomeLivro)) {
			for (Livro livroBD : BancoDeDados.obterTodosLivros()) {
				if (livroBD.getNome().contains(filtroNomeLivro)) {
					livrosFiltrados.add(livroBD);
				}
			}
		}
	}
}
